package controller

import (
	"errors"
	"fmt"
	"os"
	"subtitleAnalyser/model"
	"subtitleAnalyser/util"
)

// @Title  export
// @Description  字幕导出
// @Author  chen（陈锴）
// @Update  chen（陈锴）  2023-12-24
// @Reture result err
func Export(filePath string, subtitles model.Subtitles) (result bool, err error) {
	// 创建文件
	file, err := os.Create(filePath)

	// 创建失败
	if err != nil {
		message := fmt.Sprintf("导出文件 %s 创建失败", filePath)
		err = errors.New(message)
		return
	}
	defer file.Close()

	fileContent := ""
	for i := range subtitles {
		// 添加编号
		fileContent += fmt.Sprintf("%d", subtitles[i].Id) + "\n"
		// 添加时间
		fileContent += util.TimetoStr(subtitles[i].StartTime) + " --> " + util.TimetoStr(subtitles[i].EndTime) + "\n"
		// 添加内容
		fileContent += subtitles[i].Content + "\n"
	}

	// 写入文件
	_, err = file.WriteString(fileContent)
	if err != nil {
		message := fmt.Sprintf("写入文件 %s 创建失败", filePath)
		err = errors.New(message)
		return
	}

	result = true
	return 
}